Concatenative type systems
Table of Contents
relatively small implementation in Racket TODO link related thesis paper https://docs.factorcode.org/content/article-inference.html
Wim:
Right now I'm not approaching it that way. Funktal is statically typed with ordinary algebraic data types and function types, and that is enough to ensure a balanced stack. If it typechecks, the stack is balanced.
But it is not a forth, I only use postfix notation for expressions but essentially it's all lambda functions. There are no explicit stack manipulation operations.
…
It depends on how complex your dependent type system would be. If it is full Martin-Löf, the type checker will be very complex. But it it's just linear types, I think it might work.
Wim's typed concatenative functional language for Uxn
1. link dump
- https://www.kodu.ee/~jpoial/teadus/ugri2001.pdf
- https://www.kodu.ee/~jpoial/teadus/
- http://www.rigwit.co.uk/thesis/
- https://www.schemeworkshop.org/2016/scheme16-paper4.pdf
- http://www.rigwit.co.uk/papers/fac-type.pdf inference
- https://prl.khoury.northeastern.edu/blog/2017/03/10/type-inference-in-stack-based-programming-languages/ also inference
- http://www.complang.tuwien.ac.at/anton/euroforth/ef03/poial03.pdf
- http://www.euroforth.org/ef22/papers/ertl.pdf
- https://github.com/typeforth/typeforth
- https://github.com/Nick-Chapman/tc-quarter